﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыДополнительнойИнформацииОбъектов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"65d1230b-6ec2-4017-817a-55313cf90695\", \"Представление\":\"Файл\"}")]
		Файл = 0,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5b9be8fd-e817-4898-a67c-647e71d2e940\", \"Представление\":\"Изображение\"}")]
		Изображение = 1,
	}
	public static partial class ВидыДополнительнойИнформацииОбъектов_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Файл = new Guid("31557a81-f93c-9506-4017-6ec265d1230b");
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Изображение = new Guid("7e647ca6-d271-40e9-4898-e8175b9be8fd");
		public static ВидыДополнительнойИнформацииОбъектов Получить(this ВидыДополнительнойИнформацииОбъектов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДополнительнойИнформацииОбъектов Получить(this ВидыДополнительнойИнформацииОбъектов Значение, Guid Ссылка)
		{
			if(Ссылка == Файл)
			{
				return ВидыДополнительнойИнформацииОбъектов.Файл;
			}
			else if(Ссылка == Изображение)
			{
				return ВидыДополнительнойИнформацииОбъектов.Изображение;
			}
			return ВидыДополнительнойИнформацииОбъектов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДополнительнойИнформацииОбъектов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДополнительнойИнформацииОбъектов Значение)
		{
			switch (Значение)
			{
				case ВидыДополнительнойИнформацииОбъектов.Файл: return Файл;
				case ВидыДополнительнойИнформацииОбъектов.Изображение: return Изображение;
			}
			return Guid.Empty;
		}
	}
}